﻿using Mes.Application.DTO.Inputs.Quality;
using Mes.Application.DTO.Results.Quality;
using Mes.Domain.BoundedContext;

namespace Mes.Application.Services.Quality
{
    public interface IQmSpecService
    {
        /// <summary>
        /// 新增质量规格
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task AddQmSpecAsync(QmSpecAddingInput input);

        /// <summary>
        /// 编辑质量规格
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task UpdateQmSpecAsync(QmSpecUpdatingInput input);

        /// <summary>
        /// 删除质量规格
        /// </summary>
        /// <param name="qmSpecIds"></param>
        /// <returns></returns>
        Task DeleteQmSpecAsync(int[] qmSpecIds);

        /// <summary>
        /// 根据质量规格id查询质量规格
        /// </summary>
        /// <param name="qmSpecId"></param>
        /// <returns></returns>
        Task<QmSpecResult> GetQmSpecByIdAsync(int qmSpecId);

        /// <summary>
        /// 分页查询质量规格
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedItemsData<QmSpecResult>> GetQmSpecsAsync(QmSpecPagedInput input);
    }
}
